/*----------------------------------------\ | Clear the bookmarked table or the current table; | |-------------------------------------------| |--------------------------------------------------------------------| |---------------------------| | Argument: | | bmark: a name of table you want to cleared; | | wordref: word reference; not necessary default is "wordsys"; | | Note: space will be read as a part of the book mark | | if no bookmark is entered, then clear the current table. | | wordref: you can specify window reference, default if "wordsys";| | Note: the wordref must be the 2nd paramter; | |-----------------------------| |--------------------------------------------------------------------| |---------------------------------------| | Example: %cleartable('t1'); | | Usage: %cleartable(bmark,wordref); | \----------------------------------------*/ %macro cleartable/parmbuff; /*--------------------------------------------\ | Copy Right: Duo Zhou; | | Created: 2-27-2001 8:26pm; | | Purpose: Clear a table; | \--------------------------------------------*/ %local fref wsid rc bmark wordref; %let bookmark=%qscan(&syspbuff,1,%str(,()''"")); %let fref=;%let wsid=0; %if %words(&syspbuff, dlm=%quote(,()))>1 %then %do; %let fref=%qscan(&syspbuff,-1,%str(,()''""= )); %end; %else %do; %let fref=wordsys; %end; %if (%quote(&bookmark) ne) %then %do; %gotobmark("&bookmark"); %end; %if (&fref ne ) %then %do; %let wsid=%sysfunc(fopen(&fref,o,132,e)); %end; %if &wsid %then %do; %let rc=%sysfunc(fclose(&wsid)); data _null_; file &fref lrecl=2000; put '[TableSelectTable]'; put '[EditClear]'; run; %end; %else %do; %put ==> Alert! Incorrect window reference "&fref", or window "&fref" isn%str(%')t open.; %end; %mend cleartable;